SDK for Aptos Node API
NOTE:
This is the legacy TypeScript SDK
, aka the npm package aptos
. For a more robust SDK and better support, we recommend upgrading to the new TypeScript SDK
@aptos-labs/ts-sdk. Take a look at the documentation and the migration guide.
The Aptos TypeScript SDK provides a convenient way to interact with the Aptos blockchain using TypeScript. It offers a set of utility functions, classes, and types to simplify the integration process and enhance developer productivity.
Installation
For use in Node.js or a web application
pnpm install aptos
You can also use your preferred npm client, such as yarn or npm.
For use in a browser
<script src="https://unpkg.com/aptos@latest/dist/index.global.js" />
Then, the SDK can be accessed through window.aptosSDK
.
Documentation and examples
- The Aptos documentation site provides step-by-step instructions, code snippets, and best practices to use this library.
- You can view the generated Type Doc for the latest release of the SDK.
- For in-depth examples, check out the examples folder with ready-made
package.json
files to get you going quickly!
Development environment setup
Setup an .env
file to configure the URLs.
From the root of this package, run:
rm .env
echo 'APTOS_NODE_URL="http://localhost:8080/v1"' >> .env
echo 'APTOS_FAUCET_URL="http://localhost:8081"' >> .env
Testing
To run the full SDK tests, From the root of this package, run:
pnpm test
If you see strange behavior regarding HTTP clients, try running the tests with --detectOpenHandles
.
To test a single file in the SDK, From the root of this package, run:
npx jest -- <path/to/file.test.ts>
To use the local build in a local project:
pnpm build
pnpm add PATH_TO_LOCAL_SDK_PACKAGE
Working with local node
To develop in a local environment, you need to use the SDK from the main branch.
Run a local node (run from the root of the repo):
cargo run -p aptos -- node run-local-testnet --force-restart --assume-yes
Contributing
If you found a bug or would like to request a feature, please file an issue. If, based on the discussion on an issue you would like to offer a code change, please make a pull request. If neither of these describes what you would like to contribute, checkout out the contributing guide.